{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 Physical GPUs, 2 Logical GPUs\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import graphgallery \n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "# Set if memory growth should be enabled for ALL `PhysicalDevice`.\n",
    "graphgallery.set_memory_growth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.6.0+cu101'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "torch.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.4.0'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphgallery.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load the Datasets\n",
    "+ cora\n",
    "+ citeseer\n",
    "+ pubmed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from graphgallery.data import Planetoid\n",
    "\n",
    "# set `verbose=False` to avoid these printed tables\n",
    "data = Planetoid('cora', root=\"~/GraphData/datasets/\", verbose=False)\n",
    "graph = data.graph\n",
    "idx_train, idx_val, idx_test = data.split()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'citeseer', 'cora', 'pubmed'}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.supported_datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PyTorch 1.6.0+cu101 Backend"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphgallery.set_backend(\"pytorch\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training...\n",
      "50/50 [==============================] - 2s 37ms/step - loss: 0.3412 - acc: 0.9929 - val_loss: 7.8456 - val_acc: 0.7780 - time: 1.8600\n",
      "Testing...\n",
      "10/10 [==============================] - 0s 952us/step - test_loss: 6.2773 - test_acc: 0.8020 - time: 0.0095\n",
      "Test loss 6.2773, Test accuracy 80.20%\n"
     ]
    }
   ],
   "source": [
    "from graphgallery.nn.models import ClusterGCN\n",
    "model = ClusterGCN(graph, n_clusters=10, attr_transform=\"normalize_attr\", device='GPU', seed=123)\n",
    "model.build()\n",
    "# train with validation\n",
    "his = model.train(idx_train, idx_val, verbose=1, epochs=50)\n",
    "# train without validation\n",
    "# his = model.train(idx_train, verbose=1, epochs=50)\n",
    "loss, accuracy = model.test(idx_test)\n",
    "print(f'Test loss {loss:.5}, Test accuracy {accuracy:.2%}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization Training "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAFBCAYAAAAG31zXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVxUVf/A8c9hk0U2BVkEFFDcEPfc96XStLJyS/u12qKVaT5lVmrZvtlim9XTY2X742PZ4pa45664iwviAgoKiKAsM+f3xwyEsogwzAzwfb9evJx77zn3fmcGmfnee873Kq01QgghhBBCCCHsh4OtAxBCCCGEEEIIcTlJ1IQQQgghhBDCzkiiJoQQQgghhBB2RhI1Ia6BUspDKfW6reMQQgghqhulVAel1H6l1AalVGdbxyOEvZNETYhrczvwgFLK1daBCCGEENWJ1norsAn4VWu90dbxCGHvJFET4tqEA/uBW2wdiBBCCFENGc0/QoircLJ1AEJUF0qpZkAccAy4B/jOvN4XeBy4CPQFRgLngalADnAT8CQQCfystVZKqU5ALNAK6A68ZP6ZCbQE5gA7gJuBO7TWZ5VSrYFbgQZAPvAK8AeQCgwHNPAL8LTWenPVvRJCCCGEZSmlegO9MH03rQdM1lrnKaWewPRZOsm8vQ4wBnAFOmqth9goZCGqnCRqQpTfIOAjwAV4UykVorU+gSmpekdrvUMpFQG0wZSU5Wqt31VKnQeu11q/rpQCQGu9WSmVYt7vQuBr4G/zMboBGea+3YBBSqmfgE+APuY+K4EsTB9cr2utLyjTzjdIkiaEEKI6UUrVBV4HumjT2cxvgSeVUp8BnbXWo5RShzCdkBwBbNda/6mUGmfDsIWocpKoCVEOSiknoDPgYV51CLgLeBkYAowH0Fo/aG7/GDDPvO7fZe1ba52tlEJrvcu8ao9SaodS6l6gIaazh80ApbXONbfpbv53tVLKXSnVDvAE1lT6yQohhBDW1Re4oLXW5uVfgUcxJW+RSqkVwFNa69NKqdXAH+Yk7iXbhCuEdcgcNSHKZzDwgtb6Va31q8A04P/M2xyBpgUNlVIBpawrF3MlrNnAfzAlhAXHiFBKOZrbOCil/MzbPsT0gdYPWH7tT00IIYSwKV+g6OdkKpCH6QpaL2AVsEop1QPYgunEaRtgXcHnohA1kSRqQpRPF631wSLLqwA/pVRP8+NXlVI+SqlBQJh53RSlVKRSKhJTEgWQqZQKVko1BuoCbgU7VEoV/H8cyz8JWkHSl4DpA+sZpZQ7MAHTnDgwDZscDBi01gbLPWUhhBDC4hwo/v0zCGhongsO0AT4HtPnaTet9QvAi0AnTJ+RR4EbzPvxskbQQtiCJGpCXIVS6gFguFKqVZHVLQED8BbwDqazgUeBDuY5Yh9hGoa4DdPwyP+a+72HqYjIIEzJ10Cl1K3mbfeY//0NeAKYC8RjqjCpgTvNbQ4A8VrrLACt9QXgJ2CxBZ+2EEIIYVFKqY5AF2CcUuotpdQ7SqmVgDOmz7j3lVJPYiom8rG527+VUo9i+pydj6n68s/AA8AXWus0az8PIaxF/TMcWAhRXSmlntFav2zrOIQQQgghhGVIMREhqjGl1HWYroyftXUsQgghhBDCcuSKmhDVmFJqH6YbcI8sUhFSCCGEEEJUc5KoCSGEEEIIIYSdkWIiQgghhBBCCGFn7GaO2v33369DQkIASEhIoHHjxte8D+lnP8eUfpbtZ4tjSj/76GeLY1Z1v1mzZn2utb7/mg9QS3m37KtbRjVhQEwQjg7Xfn7VFr97cuzaGbscW44tx658/8s+I7XWdvEzY8YMXaDo42sh/eznmNLPsv1scUzpZx/9bHHMqu4HzNR28LlTXX669+qjR76zSveZ+ac+nnqhXK9xUbb43ZNj266/HFuOLceu3scu+hlpl0Mf+/TpUy2OV136VUZ1eY41/XfGVse05vGqS7+Kqk7vvS3+1ojSOSojCx7rydAOofSZuYTYPcnX1N8Wv3v2cOzKsOXzrmz/2vq62fo9s9Wxq/NrXhnV+XlfS3+7KSYyc+ZMPXPmzErtIzY2Vr5glEJem5LJ61I6eW1KJq9L6cr72iilZmmtZ1Z5QDWE97ho/cFrcxgd2Jd1+1O476P1PDSoGZOHtMTBQdk6PLsl/1crRl63ayevWcXI61ayop+RNSpRE0IIYf8kUbs2d/3rQZ14hyfHL6UwLXwUA1y7cd+HG/HzrMMn47vi4+Fi6xCFEEJYSNHPSLsc+iiEEEIIkwj3IGI7vcmX0U/y4+nV9Nr7CEPvyiLIz4XeM/5k74l0W4cohBCiCkiiJoQQQlQDPX1bs6TDK/zU5jlWpu3gh7B3aX1TMkPfWsqBUxm2Dk8IIYSFSaImhBBC2LGEhARmzpxJbGwsANd5N2dRu1n83u4lLvokc3Hwr9w4978cS7lg20CFEEJUivnvfOOCZbu5j5oQQgghimvcuDElzeFu6xXJz22f57MTfzBZz6PP55lseOgBAn3crB+kEEKISjMXV0koWJYrakIIIUQ1dn/Ijfx53Yuca7eaTt+9xtnMS7YOSQghhAVYNFFTSvVSSq0oYX03pdRUpdRTSqkGljymEEIIUdt182nFnl4fYQhLpMWvT5J8IdPWIQkhRJVJTU1l5MiRpW7/4IMPWLhw4TXvNz8/n8mTJzN//vzKhGcxFh36qLVerZQqaczFK0AfIBSYBTxsyeOK6sNo1HLfHztR0fci32DkUp6h1O0edZxQ6tr2azRqsnPzS93u5uKIo8O1nVfSWpOVU/o+XZ0dcXK03qACg9F4zc+hMnLzDeTmG0vcppTCo46MfK9pQtz8OTzoI9r/+jxRyx9mU9/XaO7d0NZhCSFEqR577DHq16/Pvn37OHPmDP3792flypUsX768zH5+fn4sWLCg1O2PPPIIDhX4zHVycqJVq1YYjSV/flpbVXxS5xZdUEpFAfnadMO2RKVUz5I6FUyWBtP4TLkBXs2TnZPPza+vpGWIN3Pu7nTNX+aFZeTlG/nsr3heWbiL+p51GBQTzMCYIHo0D8DVxbHEPompWSyLO8XSnadYu/8MBmPJ9180GDUxjXx57c72dIz0K1c8K3cn8/SCrRw9cwGHUn4nXJwc6NsqkIFtghnYOoiAUubgXLiUx6q9p1kWd4plcUmcybiEYynJqHsdJ6YPb83/9Y6skoTNYDSy5fBZlsUlsSzuFHGJabRrXI9BbYIZGBNMu8b1LHrSQmvNwaTzhcf7+2BKqf/HDEZNsK8bA2KCGBgTTK8WAbhXceIWGxtbWAyDIhOlhWW5OdVh17CX6fbdHNqunciv1z3PQP92tg5LCCFK9PDDD9OiRQu+/PJL9u/fz/Tp0xk+fHi5+jo6lvydBahQklae/VqbNU6p+gFpRZZ9S2pU2mRpUTMYjEbu+3g9IfXd2XrkLG/+uoepw6KtcmyttcWTwku5BjQlJytODg44O137H4iKxlneflprluw8xTPfbiesvjt/Th9Abr6RZXGneG3RHu76YC1dmzVgUEwQ/aKDOHE2m6Vxp1gWd4qzmTkMaB3EbZ0bMff+zvh5upZ4DKNRs2DdUca8t4beLQKYOaItDeu5l9g2Puk807/bzoGTGcwe3Y6b2oeU+jyS0rJZFpfEkh0nmfbNVhr512WgOcH09XBh2a4klu08xZYjZ+kQUZ+BMcH8NDmK5g29S91n3LE0nl6wlU+WHeTVO9vTLzroqq8hQE6eAaMu+b3PyM7jr91JLItL4q/dyQT5ujEwJojZo9rRLrwemw+dZWncKR78dANnM3Po3zqIgTFB9G0ViKebc7mOf3ksRtYfPMOynabkLN+oGRgTxH39mvLVoz3xKmWfWmv2HE9naVwS7/6+j3s+XEfnJn6m17RNMKH1S37PAJwdHSqU2BY9ATdr1qyEa96BKDcnR0fWjXyC/p/XY5h6gS/bPc7IoD62DksIIYpp0aJFieuWLVvGnDlz8PDw4MYbb2Tnzp20b9+elStXMm/ePL777js2bNjAtGnTGDZsGFOmTOHzzz9n1KhRjB49moceeojx48dz+vRp/ve//xEZGcnixYv59ddfadiwITNnzqR9+/Z8+umnDBw4kEmTJpUY37x583BxcWH9+vVMnTqVsLAw3n77bdzd3Tlz5gzPP//8ZcuzZ8+26OtjjUQtBSj6qZ9jhWMKO6K15ulvtpF5MY//TOjOuQu59H9hKSH1PRjdPbzKjnsxN58Jn21kWdwp+rQKLPxiH+Rb+pfQ0uTkGdhwMMWcuCRxODmz1Cs1SmH60tsmmEExwTQL9ioxWTAaNduOmq64LI07xZ7j6Tw4MIqpw6JL/YJdVHZOPu/9sY93f99Hk0BPBsYEM6B1ENc18Sv2RXrviXSmLdjG8bPZvDKmHYNiggtjatu4HlOHRZOWlcvK3UksjUvind/2EezrxqA2wXwyvmu5r/44OCjG9ozglk6hvL14L12n/85DA6N4fEjLwqF2aVm5vPa/XXy7LoHJN7Xkq4k9qONc9tmrIF937uodyV29I8k3GNl4KJXlcUn86+utpGfl0r91EA8ObMaClgHlTnhiGvny29P9WbztBE98uZmoYC9eGt2eqCCvy9rl5RvZeCiFpeZk6MCp86W+924ujvRsEVCYnF2ZpPaNDqRvdCCvjGlfeJVy4abjPDl/C5fyrn2YhaODMiemQfwwuTctykhMi1JKER3mS3SYL5NvaklGdi6xe0xXIj/4cz+pmaX/mX7n7k6M7RlxzbGKiisYcXIto02cnRxYcs84+n9Qh/sc3iXE1Z/uvq2qNlAhRLXneVfpwwkrKnP+mGvu069fP6ZMmcLOnTsxGo289NJLjB07lh9++IGkpCS6dOnC8uXLCQkJwcPDgyFDhtCuXTsmTZrE+PHjCQ8PR2tNhw4dWLBgAS+++CI5OTmsXr2ali1b8vfffzNr1iy++eYbunTpUmIMBw4cYMOGDXzxxRdERUUxadIkPvzwQzZt2sTXX3/NoUOHSE5Ovmy5sqxWnl8p5Qi4a63jlVKu5nURQGxVHVPYp/f/3M/qfadZ+uxAXJwcCfRx4+cpfRj8ygqCfNzo0yrQ4sdMOX+Jke+sIszPg7Uv3sia/WdYtvMUz363nYb13BkYE8ygNkG0D69f6pfupPSLrNiVVDjcLyrYi0ExwXx4f2fah9crdb5R5sV/ht8NX7oSgAHmJLFNo3qsP3CG5buSWL4riQZergyICWLG7W2ICPDk1f/tov2/fmX68Bju6h1R4jG01vy44RgzftjBdU38WPvijSSnX2RZ3CmmfrWV42ezzIlpEB0j6vPp8nj+tzmRp26O5r5+TUu92ufr4cLwzo0Y3rlRBV/1f9R1deb529twd58mzPhhBx2eWsyMO9qQeTGPV/+3m6EdQtjy6hD8vUq+MlcWJ0cHujdrQPdmDZhxR5tKxamUYmiHUAbFBPPxsoMMmr2MkV0bc0/fJvwdn8KyuCRW7U0mooEnA2OCePv/OtEpsr5FhkqG+XlwX7+m3NevaaX3VVne7i7c3CmUmzuF2joUUYKKjjhxc3Hi53tuof37KQxznsnfXebQ1EPmrAkhSleRpKoqODo6Uq9ePZRSODo60r59e+bPn0+dOnUwGAw4OTld1tbHx4f09HRyc00zsAq2F2wDcHd3Jzc3l4iICNLT0/ntt98YMmRIqYnajh07qFu3LgBt2rRhz549hIWF0aFDB1q1asXcuXOJiYkptlwZV5bnt2iippRqDUQqpaIxZYM9gaeA2UqpfwFuwHRLHlPYt/9uPMaHSw6w/LmBeLu7FK5v3tCb+RO7M+79tSx+uj+tQn1K3cfa/ad5ZsF2DEbNy2Pa0btl2Ynd/pMZ3PF2LCO6Nmb68BgcHBSN/OsytmcE+QYjW46cZdnOUzyzYDt7TqSXuh8fDxf6tQq86nC/K3m6OXNThxBu6hCC1poDp86zLO4U85bHsysxjS5R/gyMCWbG7W0I9fO4rO+H93dhR8I5nv5mG58uNw3JK/p8Nx1K5elvtmIwaj5/uBvdmpmKqEYGeNK9WQNm3tG2MGlbFpfErB93MrxzGFtfu4l6deuUK35LCvPz4N+PdOfv+BSe+24HHnUc+fWpfmW+37ZQx9mRxwe3YEyPcF76bxxDX/uLHs0bMKR9Q975v4408Jb7UonqKcjXnU8GD+eRNdlc7/wMG7u8i7+Lff3/E0KIspw/f57nnnuO7du3s2LFikpPaalbty7PPfccQ4YMKbNdy5YteffddwHIysqiffv2HDlyhEceeYTbbruNO++8k+bNm1+2PHjw4ArHVRJLV33chamyI8BuYLF5/V/AX5Y8lrB/6w6cYcr8LfzyVD9C6nsU296jeQCvj+3A7W/Fsvz5QcWGiR09c4Fnv9vOjoRzvDiyLQ5KMfHzjbQK9WX2qLY0CfQqts+Vu5O596N1zB7VjjtLGJ7l5OhAl6b+dGnqz3O3V+5qTHkopWje0JvmDb159Mbi47BL0rZxPf54pj+/bDle+HwfvbE5X/wVz9r9Z5hxRxtGdQsvdShioI8b43pFMq5XpCWfSqV0aerPsucG2jqMq/L3cmXO3dcx525bRyKE5QzrGMrSnf1Yl5zPzdtnsqLja7g5Wv/EjRBClCQ9PZ3169dz+PBhTpw4QUhICH///Tfx8fEcPXqUkJAQDAYDEydOJDc3l0WLFhESEsKhQ4dISkoiMTGRjRs3cuLECU6ePElSUhJ79uzBw8OD5ORkDh8+TGJiIvv37yctLY2hQ4fy6KOP8uyzz+Lk5MT48eMZP348YBq1tG3bNoxGI2PHjuXGG29kxowZuLm58cYbb3D+/HkmTJjAqFGjuPfee4stW5rSpUyKt7aZM2dqKSZScxw4lcGNL69g3oNd6d+67CINby/ey48bEljy7EC83Jw5fzGPN37ZzfxVR5h4Q3Mm3tAMNxfTOYVLuQY+XHqAd3/fx5ge4Tx1czQ+HqYrdV/GHuKFn+KYP7E7PZoHVPVTtIqC5/vZioOM6RHBpCEtqOt67UUnhLAnSqlZWuuZto6jurDE5+OFS3l0f+4PvAZvIsDXhR/aPIuDst7tIoQQwl6sWLECb29vOnbsiMFg4JNPPuGRRx6xdViFin5Gyo10hMWdTr/I7W/F8sLItldN0gCeGNKC46lZjH1vDbdcF8bL/41jUJtgNr48mMAryrC7ujgy+aaWjO0Zzos/x9H+qcVMuyWaxLNZ/LrlOEumD6BpUPErbdVVwfOdfFNLW4cihKjG6ro688XD3bntnUvkjl7PUwc/441m420dlhBCWJ3BYGDatGkEBwfTpEkTRowYYeuQSiWJmijGYDQyf9URXl64C3+vOuZqicF0buJXaiGKMxkXWb7LVJZ8xa4kJlzfrNyV4ZRSvDGuA/83dx0/bkjgpyl9aNu4Xpl9Gni78f69nXmgfxrTv92Gg4Ni+fODyj2PTAghapsOEfWZMLAVS9a68Wu3hYS7BfJI2DBbhyWEEFY1aNAgBg0aZOswykUSNXGZVXuTefqbbXi5O/Pt4z3JM2iWxZ1i2oKtJJy5QG9zmft+rQI5cS6b5eaiFUfOZNK7panS4Isj25Y4J60sTo4OfPNYifdCL1NMI19+fbr/NfcTQojqoiLl+Usz+aYWLN91itsz7mb20Q8JdfVnaIOulglUCCFEpVitPL+oXg4ln+fZ73aw53gas0e1Y1jH0MKKOl2j/Hn+9jacTi+4anaK57/fQbCvGwNjgnl5TDs6N/Gv0E2ehRBClK2i5flL4ujgwLwHu9F7xp+8NvEJ7t3zJqvc36Rl3crflkMIIUTlVGl5flH9pGfl8vovu/lmzVEeH9yCLx/pjqtLyTcfDvBx486eESVWUxRCCFE9hPl58PrYDrzy5W5eePhuRsa9xKbO70slSCGEsDNyCaSWyjcY+WxFPB2eXsz57Dw2vTyYyTe1LDVJE0IIUXPc0bUx7cPrsT/Wj9Z1w5l04CNbhySEEOIKkqjVQit2JdHt2T/476ZjLHyyLx/c15kAH7mhrxBC1CZv3dWRZTuTGOcwmr/O7eCH5FW2DkkIIUqVl5fHpEmTWLBgAQAjR44kNTW1cHtSUhJ9+/blxIkTZe7n9OnTjBkzpkIxLF261KpVIiVRq0UOnMrg9rdimfyfzTx3ewy/Pd2fmEa+tg5LCCFqHKVUL6XUCvPjcUqpZKVUglLqrFJq4BVtHZRSm8xtnrdWjN7uLrwypgPPf7OHr1tOY8K+DziSnWStwwshBD///DOOjo78/vvvheteeuklJk6cSH5+/mVtnZ2dadGiBUajEYAFCxbg5+dXuD0oKIj69euXeqzExEQAAgIC+OqrryoUb+/evTl37lyF+laE3SRqBVWtzNVOhAWdu5DDv77ewqDZy+nVMoBNrwxhaId/ioUIIYS1XFnRqqbSWq8GCoYqHNJaB2qtGwOfA7FXNB8O3GVu84L1ooRhHUNo6OvGpo1GpkeMZlTcy+Qa86wZghCiFrvtttsYOnQoubm5het8fX15/fXXcXIqXkrD0dGxxMcFXF1Lvk1TamoqL7zwz5/XkvqWR0X7VZTdFBOxZFUr8Y+cPAM9n/+TgTFBbHl1CP5ecp8xIYTtXFnRqobLBdBabwBQSjkCSmt9ZSbUHXhfKfUN8C+ttbHoxoITmYBFSvQXZbqPZUcGvLiMv7vcyF/ndvBM/L95U26GLYSwkgkTJvDGG29wyy23oLUmJycHd3d3MjIyeOKJJ+jRowcJCQmXJVpHjx7l1ltvZceOHWRlZfHOO+8QEhLChg0bAPj9999Zv3492dnZjB49mqysLDZs2MBvv/1GSkoK27Zt47333mPp0qUcPXqU+Ph4BgwYQKtWrbjllluYNGkSX3zxBePGjePee+8tMe7t27cTGxtLZmYmoaGh3HPPPcyfPx8nJyf+85//sGTJkmLLpYmNjS16sapxwQO7SdRE1fjx72M0DfRkzt3X2ToUIYSo7XoCq69cqbV+Qik1HfgCuNv8b6GqPpHZNMiLu/tE8tz3O/j3vU/S7u+H6VuvDUP8O1fZMYUQ9kkttfyNoPWgpWVuHzBgAI899hgHDx7k+PHj9OvXD4Bz587Rt29fbr31VgYMGHBZohYeHk7dunUBePvtt+nWrRv9+/fnl19+AUzz0B588EFWr17N8uXLmTp1KkFBQQwZMoT9+/ezdu1aDAYDs2fPZvXq1WRlZdG6dWsOHjyIq6srw4YNo02bNjz99NOlJmqPP/44K1euxMHBgejoaIYMGcKiRYuYPXs20dHRAMWWS1P0JNysWbMSCtZLolaDaa35cMl+Zo1oa+tQhBBCwECgxKGNWutspdRjwLPWDcnkXzdH0/Gpxew7cpFvWj/NHTtns7XLXBq6+l29sxCixrhaUlUVlFI8/PDDzJ07l0aNGjF58mTAdJLqjz/+YNWqVbi4uBTrVzA0ct26ddx6660AuLu7AzBw4EC+//57XFxcMBgMJfZLTk7mwoULAHh4eODj48Pp06dxdnbG29sbd3f3y4ZkXunAgQOFQyGbNWtGfHw8U6ZM4dZbb+X6669nzpw5xZavddqR3cxRE5a3Zt8ZcvKM9I8OsnUoQghRqynTp7OL1jrHvOyolPIssg2gPrDCFvF51HHi5THtmTJ/C108WzExbBh37noVgzZcvbMQQlTS3XffzU8//YS/v3/hul9//ZX4+HiGDBmC1rrUvsHBwaxfv75w2Wg08thjjzFgwACioqIAUzKotS4sRAKmoiKpqamFyZqXlxeBgYHljjkoKIgjR44AYDAYaNGiBS4uLsTFxbFz50527dpVbPlayRW1Gmzukv08cn0zHBykaIgQQliTUqo1EKmUitZa7wauAzYVaXIj0FMpNQvYoJRaDOzWWn9rg3ABuKVTKF/8Fc+nyw8y7fpRrDy3k9lHFjAjcpytQhJC1BJeXl6MGzeO4cOHF64LDw/n8ccfJyAgAIPBwPr169m2bRvOzs707duXxMREtm/fzrPPPsuoUaNITEwkJSWFDRs2EBMTw4QJExg8eDAbNmwgIyODnJwc/v3vf+Ph4UF8fDwXLlxg7ty5TJ48mbZt2zJt2jSSk5NJSEhg69atHDp0iBMnTpCcnFyYwG3ZsoVjx45x6tQpPvnkE2bMmEHPnj0ZNWoU9erVY8SIEYwePZrrrruOZs2aMWTIkMuWr5UqK0O1ppkzZ2opJmI5h09n0v+Fpex9+2bc60g+LoSwH0qpWVrrmbaOo7qw5ufj/pMZXP/Scja9PBijWzZt1j/E8o6vEeMZYZXjCyFEbVf0M1KGPtZQHy89wP/1jpQkTQghRLk1b+jNXb0jeO777QTVqc9LTe9h/N45GC8vRCmEEMIKJFGrgdKzcvl+fQLjB0TZOhQhhBCVZO37jD51czSr951h/YEz3NfwBpyUIx8fX2yVYwshRG125b1GJVGrgeavPsyA1kE0rOdu61CEEEJUUkF5fkveP60sdV2deWlUO6bM34LRCJ+0fJwZh7/i1KWzVjm+EELUVlfea1QStRom32Dk46UHeOT6a5+wKIQQQgAM7xxGfc86fLYinlZ1G/NgyGAmHfjI1mEJIUStIolaDbN46wmC67nTMVLufSOEEKJilFK8MbYDry3azaVcA9MjxrA98xC/pWy0dWhCCFFrSKJWw8xdcoCJ1ze3dRhCCCGquRYhPrQLr8fPG4/h5liHj1o8xoR9H5CVf9HWoQkhRK0giVoNsvXIWU6lZXNThxBbhyKEEKIGGD8gik+WHURrzYD67enpG82Mw1/ZOiwhhKgV7CZRs3ZVq5rowyX7eXBgFE6OdvO2CiHEZa6saCXs28CYINKzc9lyxFRI5O1mD/JV0nK2nz9k48iEEKLms5tv9NaualXTnDqXzbK4JO7qFWnrUIQQolRXVrQSV2fLE5mODg7c378pny47CIC/iw+vNL2XB/e+i0EbrB6PEELUZFKev4b6dMVBRnRtjI+Hi61DEUIIYUG2PpE5tmcEf+44yZkM09y0e4Kvx83RhQ+P/2qTeIQQoqaS8vw1jMFo5MvYQ3zx1yEeGiQ3uBZCCGFZ9erW4eZOYfxn1WHAVBHyk5aPM+vw11cXuM8AACAASURBVJy4lGLj6IQQouaSRK0aW733ND2f/5Nv1hxl4dS+NAn0snVIQgghaqDxA6L4/K9D5BuMADT3CGNC6DCeOPCxjSMTQoiaSxK1aujI6UzGvLuaRz77myeHtmLpswPoEFHf1mEJIYSooWIa+RLm58Fv204Urns6fCSbMw4Se26nDSMTQoiaSxK1aiQjO5fp326n76yltI+oz5ZXb2J450YopWwdmhBCiBruwQFRfLo8vnDZzbEOb0Q9wOP7PyLfKIVFhBDC0iRRqyYuXMqj8zO/k56dy6aXB/Pk0Fa4ujjaOiwhhBC1xNCOIRxMOs++E+mF624P6Imvc10+O/mHDSMTQoiaSRK1auK3bSeIDvVh7n2dCfBxs3U4QgghahkXJ0fu7dvksqtqSinebf4wMw7PJy0v04bRCSFEzSOJWjXxw4ZjjOja2NZhCCGEsDJb3kftSvf0bcLPG4+RkZ1buK6NZyTDG/Rg5uGvbBiZEEJUf3IftWoo5fwlNsanMLh9Q1uHIoQQwspsfR+1ogJ93OgXHciCtUcvW/9ik//j26SV7LmQYJvAhBCiBpD7qFVDizYfZ1BMMHVdnW0dihBCiFpu/IAoPl1+EKNRF67zc/Hm2YgxTNr/EVrrMnoLIYQoL0nUqoEfNiRwhwx7FEIIYQe6Rvnj5uLIyj3Jl61/OHQop3LO8UvKBhtFJoQQNYskanYuMTWLA6fO0791oK1DEUIIIVBKMX5AFJ8sP3jZemcHJ+Y0f4jJBz7hkiG3lN5CCCHKy24SNXuaLG1Pfvr7GLd0CsXFSUrxCyGqvysnSovqaUTXxmyMTyUh5cJl6wfW70Druo2Zk/hfG0UmhBA1h90kavY0Wdqe/LhBhj0KIWqOKydKi+rJvY4Td/YM57MV8cW2vdXsQd5M+IlTl87aIDIhhKg57CZRE8XtPZFOWlYu3aL8bR2KEEIIG7HXESf39m3CgrVHyc03XLY+0j2YB0JuZFr85zaKTAghqicpz1+N/LjhGLd1boSDg7J1KEIIIWzEXkecNAn0onlDL37bdrLYtmfCR7P83Hb+Tt9ng8iEEKJ6kvL81YTWmp/+TmBE10a2DkUIIYQo0T19mvDvlYeKrfd0cuflJvcw+cAnUq5fCCEqSBI1O7X58FlcnByJaeRr61CEEEKIEg3tEEpcYhpHz1wotm1c8AByjLn8eHq1DSITQojqTxI1O/XjBtPVNKVk2KMQQlQ3SqleSqkVRZZHKaWSlVLHlFI+V7TtppSaqpR6SinVwPrRVpyriyOjujVm/qrDxbY5KAfeavYgTx38TMr1CyFEBUiiZofyDUZ+3pjI7VLtUQghqiWt9WrADUCZzrhFaq0DtdaNtNbpVzR/BXgT+BaYZd1IK+/uPk34es0R8vKNxbb1qdeGNp4RvJf4PxtEJoQQ1ZskanZo1d7TNPLzIDLA09ahCCGEqLiCy0jRwAil1B6lVLuiDZRSUUC+NkkEelo7yMpq3tCbxv51+XNn8aIiAK9HPcDrCT9wJifNypEJIUT15mTrAERxP2xI4A4pIiKEEDWC1noX0EYp1RP4WikVrf+psOEHFM1gik1MLijPD6aKYPZW/RHgnr6RfLnyEEM7hBbbFuURwtig/sw8/BUftnzMBtEJIYR9i42NLXoLlsYFDyRRszMXc/P5fdsJZo1oa+tQhBBCWJDWeo1SahWmZOyceXUK4F6kWc6V/QrK89uzWzqF8fQ32ziemkWon0ex7c9H3knztfcxMexmWtaVE5FCCFFU0ZNws2bNSihYb9Ghj0qpKUqpcUqpiVesv1Updb/5Z4wlj1nTLNlxinbh9Qn0cbN1KEIIISxAXV4V6rjW+pxSylEp5am1jgdcze0igFhbxFhZ7nWcuKNrI75aXbyoCEA9Zy+mRYxi6sF5Vo5MCCGqL4slakqpHkB9rfVXgK9SqnORzY9rrT/TWn8G3GupY9ZEMuxRCCGqP6VUayBSKRUNTFZKLVZKTQJ+MDe5EXjW/Hi2UupfwDhguvWjtYy7+zRh/uojGIzFi4oATAgdxsHsEyxN3WLlyIQQonqy5NDHwcA+8+O95uWN5uWtSqkXgF+ADy14zBrlwqU8Yvck8+H9XWwdihBCiEowz0srmLC1G3jriu2LgcXmx38Bf1k1wCrQOsyXIB83lsUlcUPbhsW2uzg483rT+5ly8FN21G+Ho3K0QZRCCFF9WDJRKzoh+hIQWGTbc8A84A3gjpI6V4fJ0lVtV2I6UcFe+Hi42DoUIYSwqNImSoua5e6+Tfgy9nCJiRrALQ26MydxIV+cXMIDIYOtHJ0QQlQvlkzUik6I9gTOFtn2OvAQ0Av4DhhwZefqMFm6qu1OTCM6tFjBLyFqtKz8i/xwejVJOedo4RFKc48wmrgH4+xQvWod7c48ysIz64jxjKCHTzT1XbxsHZJdKW2itKhZbuscxnPfbScpLZsgX/di25VSvN3sQW7a9jyjAvvg6VS8jRBCCBNLfhP6HdOY+x+AlsASpZS31joDaKW1zgR+M4/DFyWIS0wjplHtSNSM2kh6/gVScjNIzT1PSl46qbnnuWTMLbVPuFsgA+q3o45D1V1xzDcaOHzxFPuyEknLu0CUewgt6oZSz7niX7qTc86x6Mx6Fp5Zz4aMvTRyDaCFRxjNPUJp4RFKi7phRLmH4OZYx4LPxP5tP3+IT0/8zvfJq+jpG00zjxC+OLmE/dnHOX4phXC3QPNrFEZbz0h6+kYTVKe+rcMuZlPGfl4+8i1/Z+xnZGBv5h7/hXG7XifM1Z+evq3p6RtNT99oQl0b2DpUUU0VjDipDqNN6ro6c8t1YXy95ghTh0WX2KaDVxSD6rfntaPfM7vpPVaOUAgh7Jd55EnjgmWLJWpa63VKqb5KqXuBdPPPx8Bo4C2l1KPASeATSx2zptmdmM7o7uG2DuOqDNrA5oyDpOZllLhda815Q7YpActNJzXvvCkhy8soXHcuPxNPR3f8XLzwd/bBz8ULP2dv3EtJVjSaH5JXceeuV7nBryPDG/TgRr9OZZ6NzczPZn/WcU7nln6T1Yz8LPZdSGRf1nH2ZSVy5GISDev40cIjDF/nunx8fDH7so7j5uhSmDS08AijqXtD/F288Xfxxs/ZGw9HV4oWdjuancTCM+tYeGY9uy4c5Ua/TtzX8AbmR0/lZM5Z9mUlsi8rkZ9Or2HfkeMcvniKkDr+dPNpWfjFvpl7KJcXi/vn9T188RRr0nazJm03W8/HE1jH97L4WniE4u/iU9g/K/8i+7OPsz/reOHzPZR9isZuAfT0jaaXb2vaeTap8qtYmfnZfJccy6cnfudMbjr3N7yBuG4fE+Lqf1m7S4Zc4rNPFr5OXyet4KG971HP2bMw3p6+0US6BZf4GpUl23CJA1knOJmTWmobVwcXotxDCHX1L/U9iE3byctHvuVg9kmmNr6Db2OeKUy2840GdmQeZk36Ln48vZrH93+Eq4MzDV398HP2Nv/ee+Nn/h2q5+yJUynzdRxwoLFbAE3cg3FxcL6m5ypqhuo24uSePk0Y9/4aptzUCgeHkv9/vtT0HtpseIjxIUMIc5OTGEIIARScjEsoWLbotzKt9ewrVo02r19syePURAajkb0n0okOs88rarnGPP46t4OFZ9ax6MwGGrj4EFbGFQJPJ7fCJCambjj+Lv8kY/4u3tR39qpQUnA6J41fUjbw75NLuH/PO/T2bc3wgB6EuwUWfqkvSETO5WXSzCOE4Dr1UZT8ZaGukyvN3UMZEdirMAG78sqW1pqknHOF+9+fdZw/UjeTmpdhviKYgQFj4RfvfG3gdE4awxp0ZVr4KPrXb3vZVcAGdXxp59XksmPkGfM5mH2Cdel7WJ22i5eOfEu24RI9zElJW89Idl9IMCVn6btQKFOy4hPNw6E3kZKbwb6sRLacP8jXSSvYl5WI1tDEPZjTuWmk5GbQ1L0hLeqakrkRgb1o4h7MoWxTwvfVqRUcuZhEZ+/mpkTRJ5ouPi1wd3S95veoKKM2si8rkTVpu1mdtos/U7fQu15rXoi8i0F+HUotJuDq6EJrz3Bae4Zftq89F46xJm0XS89u5blD/8GgjbTzirws6fknEfJBowvfs4LfjeTcNCLdgghza4BDKYVvLxgucjD7BOfzs2nuEXpZEqzRvJnwE+fyMnk6fCR3BvUrlkA5OTjS0TuKjt5RPNHoNrTWHL2YXPheFD1psT/rOGfzzmMsvP/x5fJ0PkcvJpN46QyNXQNoUTesMJbmHqEE1amHn7M3ro6Vv9Js1EYSL50BwN/ZG/crTkAIUR7twuvh4+HCyj3J9G8dVGKbEFd/Hg65iecP/4cvo6daOUIhhKgelC7ly4G1zZw5U1enM4aWduBUBne8vYq4N4fZOpRCmfnZLD27lf+eXsvvqZtpWTeMWxt059YG3Yl0D7Z1eGTkZfFb6kb+e3otp3PT/xlKaP4C28gtAAdl0VsFlirbcInU3POk5mWQrw2092yKk0PlKpolXjzDmvRdrEnbzc7MI7Sq24iePtH09G1NuFtgmV+gtdak5KZz6OIpAlx8aewWcNUKa2l5maxL31N4pS7uwhFa1w0vTNx6+Ebj6+xZ5j5yjLnszDxi3scu1qbvwdvJo3AfN/pdR7CrZYYvaq1JuJjMnqxjha990WG0KbkZaHSxRCvcLbDc70163oXCJK/g38z8izwSOpThAd2tWrUux5hLfNbJwqu/+7OOF14xTs09j4uDE37OXsVOivg5e12WxBZcwUvOSfsngTX/HMw6ST1nTxyUIiXXdMX8yn0+HHoTPX1bV+q5KKVmaa1nWuBlqRWq4+fjZyviWbU3ma8e7Vlqm/P5WUStvZclHV6mjWekFaMTQgj7VfQzUhI1O/Hz38f4eeMxFjzey2rHNGojX5xcwp4LCaTmnSc1N4OUImf6DRjp5duaWxt052b/bhb7gi2qh2zDJTZm7C9MujZmHCgcKunuUKf4kNa8dLINObTwCCscmtjTp7X83liB1ppM83Djgiu9Rd+bwqu/5n/P5p2ngYvPFcNlw2jmEXLZcOKs/ItXvM8ZdPJuRjOP0DKiuTpJ1K5Ndfx8zMjOJXryIra+dhMNvN1KbTc38Rd+SdnAkg6vWDE6IYSwX0U/I6tXWbUabNfxNFpbcdhjRl4W43a/RmrueW4L6EE7ryaXnYH3d/EpNu9K1C7ujq70rdeWvvXaAqbhmdszD7EufQ95RgMt6zYqdrXG28lDfmdsQCmFl5MHXk4eRFDyULOK8HByw8PJjUZuARbbp6gdvN1dGNoxlK9WH2HK0FalthsfMph3ExeyNHULg/w6WjFCIYSwf5Ko2Yldx9K4p29Tqxxr34VEbtkxk4H12/NTm+ekQIEoF2cHJ67zbs513s1tHYoQohq4v19T7vpgLZOGtMDRoeRh6M4OTrzS9F7+Ff8ZA+q3t9pwdSGEqA7kL6Kd2HU8ndZhPlV+nIWn19J78xSmhY/igxYTJUkTQgg7V1Cev8gNw6uF9hH18fOqw7K4pDLbDW/QA3cHV75OWmGlyIQQwj5VWXl+UXEp5y+RnZNPmJ9HlR3DoA3MPPwV808t5/f2L9HRO6rKjiWEEMJyqlt5/qIe6B/FvBXx3NC2YaltlFK8EfUAo3e9zB0BvWrdPSWFEKLAleX55YqaHdidmE50qG+Vze1Jz7vAsO0zWJO2m82d35ckTQghhFUM7xzG1iNnOXrmQpntuvu2oqNXFO8nLrJSZEIIYf8kUbMDpkIiVTPscXfmUTptnEhT94Ys6/AqDerY533ahBBC1DxuLk7c2SOCL1bGX7XtK03v5Y2EHzmbe94KkQkhhP2TRM0O7E5Mq5IbXf+UvJq+W/7F8xFjmdP84QrdYFoIIYSojPv6NeHr1Ue4lGsos10zj1BGBPZi9pFvrBSZEELYN7tJ1KrrZGlLiEtMJ8aCiZpBG5gW/zlTD85jSYeXGRc8wGL7FkKIyrhyorSo+SICPGkXXo+FmxOv2vb5iLHMT1rOkeyyC5AIIURtYDeJWsFkafMkulojJ8/A4eRMWjT0tsj+zuWdZ/C2Z9mUcYDNXT6gvZd1Sv4LIUR5XDlRWtQO9/dvyrzlB6/aLqCOL5PCbmX6oX9bISohhLBvdpOo1VYHTp0nvEFdXF0cK72vnZmH6fT3o7SuG86S9q/g52KZ5E8IIYTt1IQRJ9e3CSY5/SI7Es5dte3kRrexOm0XmzMOWCEyIYSwH1eOOpFEzcbiEi1TSOS7pJUM2PI0s5vczZvNxuPkUPnETwghhO3VhBEnjg4O3NuvKZ+tuHpREQ8nN2ZF3sXUg/PQWlshOiGEsA9Snt/OVLaQiNaaFw9/zdPxX7C846uMDuprweiEEEIIy/i/3pEs2pxIelbuVdveHTyIs3nnWZSy3gqRCSGEfZJEzcbiEtMqXEgkz5jPA3vf4X9n1rOh8xzaeEZaODohhBDCMvy9XBnUJpgFa49cta2TgyNvN3uQqQfnkWO8emInhBA1kSRqNqS1ZndieoWGPmbmZzN0+/Mk5ZxjVae3CKpTvwoiFEIIISzn/v5RzFsRX64hjQPrd6CZeygfJP5ihciEEML+SKJmQyfPZePs5EADb7dr6nfq0ll6bZ5CmKs/i9rOoq7TtfUXQgghbKFLUz9cnR1Ztfd0udq/2ewBXj36PSm56VUcmRBC2B9J1GyoIsMed2cepeumxxkR0ItPWk6SoiFCCCGqDaUUD/RvyrxyFBUBaO4RxuigPsw8/FUVRyaEEPZHEjUb2p2YTvQ1DHv86+x2+m35Fy83vYdpEaNRSlVhdEIIIexBTSjPX9SIbo1Zs+80J89ll6v9jIhx/Ji8mr0XjlVxZEIIYVtSnt+O7EpMo3Vo+a6opeSmc/vO2XzfZjp3BvWv4siEEELYi5pQnr+ouq7OjOjamC9jD5WrfX0XL56JGM2UA59UcWRCCGFbUp7fjuxKTCOmUfkSte+TVzHYvxN967Wt4qiEEEKIqnV//6Z8GXuYvHxjudo/EjqUwxeT+DN1cxVHJoQQ9kMSNRu5cCmPpLSLNAn0LFf7r5NWMFaupAkhhKgBmjf0JszPg9i9yeVq7+LgzJtR45ly4FPyjYYqjk4IIeyDJGo2sud4Os2CvXFyvPpbEJ91koSLpxlQr70VIhNCCCGq3i2dQlm0+Xi52w/170JgHV8+PfFbFUYlhBD2w24StZo2WfpqdiWm07qcwx4XJP/FyMDeUuFRCFHtXTlRuiZSSvVSSq0wPw5RSi1WSiUqpaaX0n6hUipZKTXPupHa1tCOofy27QT5hvINf1RK8XazB5l15GvS8y5UcXRCCGF7dpOo1bTJ0ldjKiRy9YqPWmsZ9iiEqDGunChdE2mtVwMFN7hsB9wCdAAmK6UaFG2rlOoEfKy1DtRaP2DdSG2rsX9dQuq7s+FgSrn7tPGMZJh/V2YfWVCFkQkhhH1wsnUAtdWuxDTu6Nr4qu02ZezHAQc6ekVVfVBCCCEsJRdAa/2reTlFKbUPuPLOzX2BR5VSfwEPa62L1awvGHECpkS3Jp3QHNYxjEWbj9OzRUC5+7zY5P+IXj+eh0KH0MS9YRVGJ4QQ1hEbG1t0VGHjggd2c0WtNjEYjew9kUHrctxD7eukvxgb1E/umSaEENWYUqoRsERrnVt0vdb6dSAcSAWeLqlvwYiTmjjq5OZOofyy9ThGoy53n8A69Xiy8e1MOfBpFUYmhBDW06dPn8K/80h5fts6cvoCfp518HZ3KbNdnjGf75Nj5b5pQghRjSnTmbbhwCslbdda5wNPYUrYapWoIC+83V3YfDj1mvo90Wg4e7OO8XvKpiqKTAghbE8SNRvYfbx8hUSWnd1GE/eGRLgHWSEqIYQQVWQs8JnWOl8pFaBMvKEwiQPwBNbaLEIburljKL9sOXFNfeo4uPB+8wk8tv9DLhlyr95BCCGqIUnUbCDuWPkKiZiKiPSzQkRCCCEsRSnVGohUSkUrpV4DngNWmueotQZigI/Nzdcqpd7BdMXtM5sEbGM3dwrlly2JaF3+4Y8AN/h1orVnY9489mMVRSaEELYliZoN7EpMIzqs7CtqmfnZ/J66iRGBva0UlRBCCEvQWu/SWodqrXdrrZ/SWkdprTtqrVtorZdrrXdqrUeb23bXWj+htf5ca10r7+QcHeqDg1LEHUu75r7vNHuIOccWknCxfDfOFkKI6kQSNRvYlZhGzFWGPi48s45evq3xc/G2UlRCCCGE9SmlGNoxlEVbyn/z6wKN3QKZ1OhWnjjw8dUbCyFENSOJmpWdzczhwqV8Gvl5lNlO7p0mhBAC/inPX6R0c41jGv547YkawJON7mBXZgJ/SGERIUQ1Z/4737hgWRI1K9uRcI6YRr5llttPyjnL5oyDDPXvYsXIhBBC2KOC8vw1rTR/UR3C63PhUj77T2Zcc19XRxfeb/4Ijx34kByjFBYRQlRf5r/zCQXLkqhZ2bajZ2kfXr/MNt8lx3JLg264OdaxUlRCCCGE7Tg4KIZ1DKnwVbUb/a+jlUcj3kz4ycKRCSGE7UiiZmVbj5yjQ0S9Mtt8fUqGPQohhKhdhnUMZdHmiiVqAHOaP8w7x/7LsYunLRiVEELYjiRqVrbt6FnaR5R+RW3fhUSSc9PoUy/GilEJIYQQttU1yp+k9IscPXOhQv0buwXyeNgtUlhECFFj2E2iVhsmSyelZZOTZyyzkMg3SSsYE9gXR+VoxciEEMI6rpwoLUQBRwcHbupQ8eGPAFMbjyAu8yh/pm62YGRCCGEbdpOo1YbJ0gXDHksrJGLURr5J+ouxwTLsUQhRM105UVqIom7uGMqizYkV7u/q6MK7zR/m0f1zpbCIEKLas5tErTa4WiGRvzP24e7oSkzdCCtGJYQQwp7VhhEnBXq2aMCh5ExOnsuu8D6G+HemlUcjXjv6gwUjE0KIqifl+W1o25GztC+jkMj3yasYGdi7zNL9QgghapfaMOKkgIuTIze0bcivlRj+CPBe8wm8l/g/9mdV/OqcEEJYm5TntxGtNduOniv1ippRG/nx9GpGBva2cmRCCCGE/bi5Uyi/bK1cohbm1oDnI+5k/J45GLXRQpEJIYR1SaJmJUfPXMDNxZFAH7cSt69N200DFx+aeYRaOTIhhBDCfvSPDiLuWBop5y9Vaj8TwoaRq/P57OQfFopMCCGsSxI1K9l+9FyZZfm/P72KEQFyNU0IIUTt5uriSP/oIBZvPVGp/TgqR+a1fILp8V+SlHPWQtEJIYT1SKJmJVvLKCSSbzTw0+k1MuxRCCGEwDz8sZLz1ABae4YzPmQwj+6ba4GohBDCukpN1JRSjawZSE23zVyavySr0uIIdfUn0j3YylEJIYQQ9mdQm2C2HE7ldPrFSu/ruYg72XUhgUVn1lsgMiGEsJ6yrqjNUEpNUEq1sFo0NZTBaCTu2DnalXJF7fvkWEbKsEchhBACgLquzgztGMq3645Wel+uji582nISE/d9wPn8LAtEJ4QQ1lFqoqa1vldrPRdopJRaqJS6XylV14qx1RgHT52ngbcrvh4uxbblGfP575l1jJBhj0IIIUpQm+6jVtTYnhF8veYIWutK76t3vRhu8OvEtPgvLBCZEEJUjXLfR00pdb1SahIwG9gOrARGK6XGldFnilJqnFJqYgnbmiulHlBKda14+NXT1jLK8v91bgdN3INp5BZg5aiEEEJUB7XpPmpFdY3yJ9+g2XzYMoVAXo+6n4Vn1rE+fY9F9ieEEJZ2LfdRmwdkAz201i9orQ8D/wFeK6mxUqoHUF9r/RXgq5TqXGRbM+ABrfU8rfWGyj6J6sZ0o+vShj2ukiIiQgghxBWUUozrFcFXqw9bZH++zp682+wRHtgzhxxjrkX2KYQQVamsRK2X1vpTrfUlpZQzgNY6F2hfSvvBwD7z473m5QLvAceUUu+aE7paZdvRs7QPL15IJNeYx6KU9dwR0MsGUQkhhBD2bUyPcBZtPk5WTr5F9nd7QE8i3YN47egPFtmfEEJUJacytj2tlNqjtX4f6KWUqq+1/kFrnVxKez8gzfz4EhAIoJTywDTW8gMgBNiolGpkTvoKFYzBB9Nlv5oyxCM338C+Exm0aVw8UVt6distPRoR4upvg8iEEMJ6YmNji86xamy7SER1EuTrznVN/Fi0OZExPSIqvT+lFHNbTKT9hgkM8+9KW69IC0QphBBVo6xEbb85SUNrvUIptQUo6xRUCuBufuwJFAwqdwEuaq2NQKJS6hSmJC6xaOeCMfg1ze7EdMIDPPGoU/yllmGPQojaougJuFmzZiXYNBhRrYzrFcnHyw5YJFEDCHVtwPvNH2H4zlls7vwB9V28LLJfIYSwtLKGPuYppa5TSkUrpd4Ezl1lX78DMebHLYElSilvrXUakFOkYmQKcLJSUVcj2xPOlTjs8ZIhl8UpG7k9oKcNohJCCCGqhxvbBbP/ZAaHT2dabJ+jgvpyW4MejIp7iXyjwWL7FUIISyorUfsU6AA8ApwAbi1rR1rrdcAlpdS9QLr552Pz5onANKXUKOA1rXWt+au49cjZEis+/pG6ibaekQTWKfkm2EIIIQTU3vL8BVycHBnZrTHfrDli0f2+0vQ+NPDMISnZL4SwD1eW5y9r6KMbEAfswZTQzQKeLGvnWuvZV6wabV6/Gdh8rcHWBNuOnuP+fk2Lrf/h9GoZ9iiEEHZOKTUI01D9XOAx4EfziUmrqalTA67FuF6R3PZWLNOHt8bRoaxzzOXn5ODI9zHT6fj3BDp4NWVkYB+L7FcIISrqWsrzvwOMAUYA/QDXKoyrRsrKyefo6Uyiw3wuW59tuMQfqZu5LaDWFcAUQojqZhgQj2mO9k6gi23DqZ1ahfoQ4O3Kyt2l1TOrmPouXixsO5OJ++ayM9MytwEQQghLKStR26S1ngDs0lo/D3hbKaYaY2fCOVqEeOPi5HjZ+t9SNbWiewAAIABJREFUNnGddzP8XXxK6SmEEMJO7AMmAwe11v8Ggm0cT601rlckX6227PBHgLZekbzb/GGG73iBc3nnLb5/IYSoqLIStXpKqWeBXUqpQ4DUkL9G246eK3F+2vfJsYwMkGGPQghRDSwFkoEHlFLtuaJicWmUUr2UUivMjx2UUjOUUmOVUv9XQttuSqmpSqmnlFINLBp9DXJ7l0as2J3E2cwci+97TFA/bmnQjdFxr2CoPdPohRB2rqxEzQV4WWu9XmvdRGt9g7WCqim2HTlL+4jLE7UL+RdZdm4btwZ0t1FUQgghrkE4sAUIAO4yP74qrfVqTHO9wTSNIElr/TXQVSkVekXzV4A3gW8xzQcXJfDxcOH6NsH8uCGhSvb/WtP7ydcGpsd/WSX7F0KIa1VWouYLqIIFpVR01YdTs2w7epYOV5Tm33z+ANF1G1PPWe7bIoQQ1cAw4CAVm6OWa/53MKYhlGCa7zagoIFSKgrI1yaJgNyzpQxVNfwR/iku8l1yLD8kr6qSY/x/e/cdX1V9/3H89c3emwx2EsKQvZEl222xdQuWWrU4ah11dViw+qsdVuqqddW66qp14kIEGYIIyJK9RxYhk+x7v78/ckMZSSAhyblJ3s/H4z5y7jk593zuIeTkc8/n+/mKiNRHXV0fBwPfGGPyqUrYegJJzRJVK5B7uJys/FK6tz82Ifs2fwtDI3o4FJWIiNTTMWPUjDGPNOA14oBcz3IpkFjLNqj6kPQY1e354diJw9uisb0SyCsuZ82uQ/Tv2vjT28QFRPLfAb9jysr7CPEN5IJ26h0jIk1vwYIFR0/B0rV6oa5E7WZr7drqJ8aYvk0SWSu1emcO/brEnNBG+NuCrVzYbrhDUYmISD19BgwHnjTGDOYUx6gdJxsI8SyHAzm1bAM4YQCW2vP/j4+P4erRybyyaEeTJGoAAyO68dGg3/OD1bP4fbcfc13Hc5vkOCIi1Y7+EG727Nm7qtfXVfo41Rhzv+cxi5PMoSbHWrnjEINSTryIfFuwhcER3R2ISEREGmAvVePTHqeq7PGpBrzGXKCfZ7k7MM8Y42uMCbfWbsUz/Y0xJgVYcNoRt3JXj0nhza93U1redE0/hkX25Kuhj/CHna/zwPZXsNY22bFERGpTV6JWASz0PNZSVVcvp2j1zhwGH9fxMbeikOzyfLqHdnAoKhERqadHAX/gbSCTU/zQ0lOFkuoZ3/06kGKMuRZYYq3dAZwL/Mbz7Q8aY+4GpgO/buT4W50u7cLo1zmKuav3Nelx0kI7sGTYo7ybtZSZG/9GpVvdIEWkedWaqFlr/2CtXeh5vAM0aeljdQ3+UfWZLdqqnYdO6Pi4smArAyNS8TW+tewlItK6eX7Hd3U2inpZZq192Fr7sbX2bSDvVHay1q6z1nay1q631rqstb+y1r5grX3es/1Da+09nuX51to/WWtnW2vTm/C9tBpXjUnh9aW7mvw4iYExLBz6F3aWZHDJmgcocTX+1AAiIrWpNVEzxnxpjJnveXzFKV6cGqq6Br81DJLOzCuhuKySru1Cj1n/bcEWhqjsUUTaMM/v+F3ORlEvScaY6caYqcaYB4FhTgckMKVfe5ZsyqKsounvcoX7hfDhwN8T5hfMpJX3aFJsEWk2dZU+zrLWTvA8xlprf9ZsUbVwX2/JZmi3OIwxx6z/Nl+JmohIC/MXqsaQTaGqY+MqZ8MRgNjwQHq0j2Dp5uxmOV6Ajz8v9bmbUVG9GfXN7ewuyWyW44pI21ZXotbVGHMFgDHmPHV9PHWLNmUytlfCCeu/LdjK4Ig0ByISEZGGsNZWWmuftdbeZK19EOjV3DG0tqEBjWVK//Z8tvZAsx3Px/jwp+7X87OO53PmN79gSe6GZju2iLQNxw8PqCtRG0pVW2KstXOpGlAtp2DRxizG9Iw/Zt3B8nxyKwvpFtLeoahERORUGWP8a9nUNLMt16E1DQ1oTJP6JjFvXfMP6butyw95/ow7uPi7Wfxj74fNfnwRab2OHx5QV6K2Ds+4NGPMBWiy61OSXVDKgdxi+nc9ds7SlQVbGRyeho+p65SLiIiXuNwYE3D8A2iaybuk3gYlx5JdUMreg4eb/djnthvGkmFz+Nued/nZ93Mod1c0ewwi0vrVlTV8DDxrjFkMXAdc2jwhtWyLN2VxZvd2NUx0vYUhkRqfJiLSQvwD2ARs9jyql29xMij5Hx8fw6S+SXzejOWPR0sL7cDy4Y+RVZ7H+G/vIr0s5+Q7iYjUQ12J2iHgV9ba0cBvrLXfN1NMLdqijZmMqXF8mhqJiIi0IFOstSnW2mTPI8VamwxMcjow+Z/J/ZL4bK1zMxqE+4Xwn/73c3bsEIYt+znL8zY6FouItD51JWpvAGM9y/metsRyEos2ZTGmZw2JWv4WNRIREWkhrLVLaln/TXPHIrWb2DeJRRszKa90bjJqH+PD/anTeLLXz7lw9f38c/+njsUiIq1LXYnaa9batzzL6aj08aSyC0rJyC2mX5eoY9ZnluVS5ColJVjD/ERERBpLXHgQ3ZMiWLbloNOhcFH8mXw17BEe3vkGt236Oy7rXPIoIq1DXYmajzHmLmPMz4GvgA+aKaYWa9HGTM7sEX/C+LSVBVsZEpF2wrxqIiIiJ6P2/HWb1C+pWdv016VnaGeWD3+MdUU7mbp6FkWVJU6HJCItyCm357fWvgx8BGRQNXi6tGlDa/lqassPaiQiIiINp/b8dZvcr71jDUVqEuUfxseDHiI+MIqxK+5kf6nzd/tEpGWoT3t+gBygO/AWVZ0fpQ6LNqmRiIiISHManBJDRl4p+3Kav01/bQJ8/HnujDu4NGEMZ37zC74r2O50SCLSAtWYqBljJhlj/gMsAQYCY4AhzRlYS5OVX0JWfil9O0edsE2JmoiISNPw9fFhYp9EPnew+2NNjDHcl3Ilf+l+A5NX3stH2cudDklEWpgTEjVjzN+Al4FXqLqb9oG19oC1dl9TBtLSa/AXbax5/rQDpTmUuyvpHHRiSaSISFtzfP29SGOY3L8989Z5V6JW7bLEs3h/4Gyu2/AoT+x5z+lwRKQFOSFRs9b+AjgT6ATMBKIBjDEBTRlIS6/BP1nZoxqJiIicWH8v0hgm9klk4fcZVFS6nQ6lRmdGncGSYY/y5N73+cWmp6h0qyOkiJxcjaWP1tpd1trHgOeAA8aYO4E5zRpZC1NbI5Hqjo8iIiLSNOIjg0mJD2f5tmynQ6lVSkgSS4fNYWvxfvp/PZO52d9grXU6LBHxYnU2E7HWlltr37TWPgKsbqaYWpyMvBKyC0rpU9v4NHV8FBGRBmrpQwOay+R+SXy2xjvLH6tF+4fz0cAHeTjtWu7Y/DRnr7qPtYU7nA5LRLzEKbfnP5619tnGD6d1WLwpk5E1zJ9mrVUjEREROS0tfWhAc5nc37va9NfGGMOF8WeybuQz/KDdSCavvJfrNzxKRtkhp0MTEYfVtz2/nILayh73lVWVYHQIjGvukERERNqUISmx7D9UzIFDxU6Hckr8ffy4ufNFbB71AtH+YfReej2/3/4KxS5NWysiVZSoNYJFm7JqbiSSr0YiIiIizcHP14fxvRO9tvtjbaL8w/hT9+tZMfwJ1hXtIm3xT5i17SX2lGQ5HZqIOEyJ2mlKzy3mYEEpfTqdOD6tqpGIyh5FRESaQ0spf6xJSkgSb/b/DXMHPcjBigIGLruRc1f+incyF1PhrnQ6PBFxgBK107R4Uxajesbj43PiXbNv1fFRRESk2Uzum8SCDRlUuryzTf+p6B+eyhO9bmHv2Fe5KmkCc3a/Q6evruaeLc+x9fB+p8MTkWakRO00LdpU8/i06kYig3VHTUREpFkkRAXTpV0Yy7cddDqU0xbiG8T09pP4athfWTj0L7itm9ErbmfMN3fw+J532V/a8t+jiNRNidppWrSx5omud5dmEuDjR/ugWAeiEhGR1kLt+etncr+WW/5Ymx6hnfhzjxvYO/ZV7u56Kd/mb6Hv0p8x+pvbmbP7HfaWajybSGtwfHt+P6cCaQ3Sc4vJKSyjd8ca5k/LV1t+ERE5fdXt+eXUTOqXxD2vrGTWpQOcDqXRBfj4c2H8mVwYfybl7gq+yFnN21mLeHDHa3QLac8lCWO4NGEsXYJP/ABZRLyXtZZCVzEdh6XBUe35laidhkUbsxhd5/g0JWoiIiLNaXi3OHZnF5GZV0JCVLDT4TSZAB9/zm03jHPbDePpXpV8eeg73spcxOBlN9M7rAvTkiZyacJYovzDnA5VWqGc8gI2Ht5DQkA0HYJiCfENcjqkRmGtZVdJBntLs8kozyWj7JDnay4Z5YfIKMvlYEU+BoOv8cHP+J7w1d/4EeIbSIhPIMG+gScsl7rKya7IJ6s875iHv/GjXUDkMfEoUTsNizbVXPYIsLJgC7d3+VEzRyQiItK2+fn6MK53Ih9/t58Z47o5HU6z8PfxY0rcEKbEDeHJXrfw8cEVvJL+BXdteZZJMQOZ1n4i58YNJdAnwOlQpYUqcZWxOG8983JWMy9nFdtKDtArtDPZ5fnsLztIiE8QHYJi6RgYR4egODoExpEakkT/8BR6hXYmwMff6bdwArd1s7V4PysLtrKqYBurCrayqnAbYb7BdA1OIDEgmsTAGJICYxgVdQaJgTEkBkYT51+VTFVaFy7rxmXdR5YrrYsKW0mJq4xidxnFrupHKSXucg67SgkNCOKMsC7EB0QdebQLiDyS7BpePhKj1yRq1TX448aNq56V2+st2pjFzyadeNesqpHIVgar46OIyDGOr78XaQpXj0nh/95Zx4/PSm1zc5kG+Pjzg/iR/CB+JHkVRbyduYg5u//LdRse5ZKEMZwTN4ThkT1JCtQY+uaQUXaIYlcZnYLa4e/jNX92n5S1lpUFW/k8ZyXzDq3mm/zNDAhPZVLsQB7reTPDInsceT/WWnIqCthXepD9ZVWPfaUH+fjgCh7e+QY7SzLoEdqR/mEpDIhIpX9YCv3DU4kNiGi295JedohNh/ew8fBeNh3ey5rC7XxXuINY/3AGRaQxOCKNu5MvY1B4N+IDo5slrlPhNT8xLa0G/8ChYg4VlXFGDePTdpSkE+YbRIIX/UOLiHgDzwdxu5yNovkZY8YA/wWKgGDgN9baZ4/a/l/gTOADa+31zkTZekzp1557XlnJ8m0HGZHWzulwHBPlH8Z1Hc/luo7nsqcki39nfMkz++by0w1/JdQ3iBGRvRge2ZMRkb0YFNGNYN9Ap0Nu8fIqiliQu4Yvcr7ji0OrSS87RKRfKOllh0gIjCI5OJGuQQl0DU4k2fMYEpFGqJ93lOluPbyfV9O/4JX0+fgYw/lxw7ijy48YG92XcL+QGvcxxhAXEElcQCQDSD1he7GrlA1Fu1lTuIPvCrfzTuYS1hbtINY/4qifwZ4MiEg9rbu+Ze5ythens/nwXjYX72Nj0R42Hd7LpuK9BBp/eoZ2OvL4QfyZDAzv1mzJYkN5TaLW0izZXPv8ad/kb2ZYZE8HohIRES9VDrSz1lpjzH3Ae9UbjDFDgaettRc7Fl0r4+Nj+Nnk7jz92eY2nagdrXNwPPckX849yZdjrWVb8QGW529kef5mXs9YwPdFu+kZ2onhkT0ZFtmTYZE96BHaEV/j63ToXq2g8jDf5G/mi0Or+SLnOzYe3sOZUb2YGDOQl/rczcCIVHyNLxXuSvaVZrOrNJNdJZnsLMlg/qHv2FZ8gPVFuzgrui8Xxo/ggrgRzd4xPLs8jzcyFvJK+hfsKsnkisRxvN7vVwyOSGuUO9IhvkEMjezB0MgeR9a5rZstxftYlreJZfkb+eeBT9l6eD/9wlMYEdmToZE9iPALwRcffI0PPsbz1fO83F3B1uL9bC7ex+bDVY99Zdl0DoqnR0hHeoR2Ymx0X27oeD49Qzt5fUJWGyVqDfT1lmzO7F7zL/9v8jcx7KgfRhERadustcuPetrOWnt0P/XxwM+NMfOBG621xUfvWz00AGhRwwOcdvWYFB5+dz37DxXTIabmOwFtlTGGtNAOpIV2YFr7SQCUuspZVbiVFflb+DxnJQ/tfI2s8jwGh6cdSdwGhKeSGBh9yo0jXNZFetkh9pZms7c0m1J3+TF/bFctG3w9jRjqYrFV43/cLirt/x4VtpJKtws/H19i/MKJ8Q8nNiCCGP9wYvzCCfENapRkw1rL7tLMI3eF1hTuYE3hDjLKDjEgIpUJMQP4U/frODOqV413hfx9/EgOSSI5JOmEbbkVhXxy8Fs+yF7GvVteIDUkiYvajeDCdmfSPzylUct33dbNgbIcthens6V4H+9lfc3ivPVc0G44s1KnMylmEH4+TZ+c+xgfeoZ2pmdoZ2Z0mAJAUWUJ3xZsYXn+Jv6btYRiVxku68ZN1Tgwt7W4rAsXbvyML91C2tMjpBNnRfejR2hHUoKTvHIs3KlYsGDB0VOwdK1eMNZaJ+I5waxZs2xLKn0889dzeezaYQxNjTth28jlt/FQ2gzGx7S+1sAiIqfLGDPbWjvL6TicYIzpClxorX38uPV+wB+Bw9ba+4/e1tKuj97kly99S0SIP/df0t/pUFqknPICVhRs5pv8qsfaoh1klefhi4+nAcL/GiHEB1QNBdlTmnUkMcsoyyU2IJxOge3oFNSOYN9A3NaN6/g/vD3rDHUnJP7GFz/ji5+P75Huen6edRW2kkMVhcc8cioKsFhi/MOJD4giKSCGpMBYkjwNIpICY2gfGEtCQDSHXaVkl+dxsKKA7PL8Y5YPlOWwvmgXIb6BDAhPpX94Cv3DUxgQnkq3kPaNetexwl3J4rz1vJ/1Ne9nL6PEXUZaSAc6BsbRKSieTkHt6BgUV/U1MI4Y/wiK3aUUVZZS5CqhyFXCYVcpRZUlFLlKySg/xPbidLYXH2B7STo7SzKI8gsjNSSJ1OAkJsUO4uL4UYR5SemlHHuN1B21Bsg7XM7OrCL6dzlxDFqFu5I1hdvVml9ERGpyMfDm8SuttZXGmHuAfzZ/SK3XDZO7c/aDn3P3RX0IClAJX33FBkRwTtxQzokbemSdtZYiVwlZ5XlHEpqs8jyyK/IB6BeefCQx6xAU5/gdjhJXGTkVBWSV55FedsjzyOH7ot3My1lFetkhMsvzCPUNol1AZNXDv2q8VY/QjoyO6k1iYAx9wroSd1zr9Kbg7+PH+JgBjI8ZwF97zGRXSQa7SjPZV3qQvaXZbCjaxScHV7CvrOp5bkURob5BhPkFEeYbXLXsG0yYbxBhfsG0848kNaQ942L6kRrcnpTgRK8ZDycnp0StAb7ZdpBBKTEE+J34S39t0Q6SgxNrHXApIiJtWgdr7X5TVcsUYa3NN8YYW1XeEg4sdji+VqV7UgQDk2N4a9kupo89scmB1J8xhnC/EML9QkgNae90OCcV7BtIR992dAxqeWMVjTG1lktWs9a2uc6mbUndBcFSo6+3ZHNmLYOTv8nfzPAoNRIREZFjGWMSgQOep/2Apz3Li40xjwI/BJ5zIrbW7MYpPXj6sy14y1APkcakJK11U6LWAHU1Elmev4lhEWokIiIix7LWZlhr/+pZXmOtvdKzPMpae7u19nlrrcvZKFufiX2SKC6vZOmWbKdDERGpFyVq9VRe6eK7XYcYVtcdtchezRyViIiI1MTHxzDT06pfRKQlUaJWT9/tyiU1IZyI4BMHx+ZXHGZPaRZ9wro2f2AiItIqVbfnP6p1s9TTVaNTWPh9JnsPHnY6FBGRWnl+z3etfq5ErZ7qKnv8tmALA8O7Ncv8EyIi0jZ07dqVWbNmaf600xAe7M+Vo5J5bv5Wp0MREamV5/f8rurnjZqoGWPuNMZMN8bcUsv2540x4xrzmM1NE12LiIi0PDdM7s6/Fm6npLzS6VBERE5JoyVqxpjRQKy19mUg2hgz/LjtFwJhjXU8J1hr+XpLNiPqaiSiRE1ERMTrpCaEMyQllje/3u10KCIip6Qx51E7D9joWf7e83w5gDEm2XOsjTXv+r8afKi67eeNJR5b0gsID/KjQ8yJc6RZa1mev5k5PW90IDIREe+2YMGCo8dYdXUuEmnLbpzSg9+8vpprxqaorbmIeL3GTNTigFzPcimQCGCM8QPOtdY+ZYzpX9vO1TX43qyussd9Zdm4rIsuQQnNHJWIiPc7+gO42bNn73I0GGmzJvRJpLzSzZLNWYzuqeu1iHi3xhyjlg1U32oKB3I8y2OBacaYBcAMYI4xpkMjHrfZ1D0+bTPDI3vqEzoREREvZUxVq/6/f7bF6VBERE6qMRO1uUA/z/IZwKfGmEhr7Xxr7Uhr7TjgReA2a+3+Rjxus1l2somuNT5NREQamdrzN64rRyezaGMmW9MLnA5FROQYTdae31q7BCg1xlwL5HkeTzfW6zstI6+E3MPl9GgfWeP26jtqIiIijUnt+RtXWJA/9/ygDzc/vxy32zodjojIEU3ant9a+6C19gVr7V+ttWustVcet32WtXZBYx6zuSzbks3wtDh8fE4sbXRZFysLtjIksrsDkYmIiEh93DilB8bA3z/b7HQoIiK10oTXp6hqfFp8jdu+L9pDUmAMMf4RzRyViIiI1JePj+Gp60bwp/c3qARSRLyWErVTdLKJrlX2KCIi0nKkJoRz39Q+zHx2GS632+lwREROoETtFBSWVLAlvYBByTE1blcjERERkZbnhkndCfDz4clPVQIpIt5Hidop+HZ7Dv26RBPo71vj9m8K1EhERESkpakugXzkg+/ZfCDf6XBERI6hRO0UfL0lq9ayx8OVJWw9vJ/+4SnNHJWIiIicruT4MH7zw74qgRQRr6NE7RTUNT5tVeE2+oR1JdAnoJmjEhGRtkDzqDW9n05IIyTAj8c+3uR0KCLShh0/j5qfU4G0FJUuNyt35DA8ra6JrlX2KCIiTaN6HjVpOlUlkMM5a9annDugAz071DxnqohIU2rSedRao3V78ugUF0p0aM13zKomulYjERERkZasS7swfvujfsx89msqXSqBFBHneU2i5q2lHV9vyWJELXfToCpR0x01EZFTc3xZh4g3uXZ8NyKCA/jb3I1OhyIi4j2JWnVph+eWn9eoa3xaZlku+ZWH6RbSvpmjEhFpmY4v6xDxJsYYnvjpcB77eBPbMjQRtog4y2sSNW9krT3pRNfDInvgY3QaRUREWoPOcaHcfn4v7nllJdZap8MRkTZMGUYddmYV4etj6BwXWuN2TXQtIiLS+tx0dg92HzzMh6v2OR2KiLRhStTqsGhTFiN7xGOMqXG7JroWEZGm5q1juFuzAD9fHrlmCPe+uoriskqnwxGRNuL4cdxK1Orw5fp0xvdOrHGb27pZkb+FYRG6oyYiIk3HW8dwt3ZnnZHIsG5x/OWDDU6HIiJthNrznyK327Lg+0wm9Kk5UdtSvI8ov1DiA6ObOTIRERFpDg9dMZDn529TYxERcYQStVqs3ZNLbFggHWNrHp82N/sbxscMaOaoREREpLm0jwnhjgvO4K6X1VhERJqfErVafLEuvda7aQBvZCzk8sSzmjEiERFpyYwxo4wxGcaYdGNMz6PWdzfG/NYYc6cxpruTMcqJbprSg32HivlgpRqLiEjzUqJWiy83ZDC+lkRtV0kGO0oymKA7aiIicurGAUnW2iRr7aaj1v8NeBR4AnjYicCkdv5+PjwyfQj3vrqSw2osIiLNSIlaDYrLKlm5I4cxPRNq3P5mxlf8MGEU/j5+zRyZiIi0RMaYeGAqsMMYM/mo9cFAqrW2yFpbBiQbY3Rx8TJjz0hgeFo7/vK+GouISPPRxaAGSzdn0bdzNOHB/jVufyNjAX/ufn0zRyUiIi2VtTYLGGqM6Q38xxgzwlqbB0QDR3eqqATaAenVK6rb80NVRzB1f3TGQ1cM5MzffMxVo5NJS4pwOhwRaUUWLFhw9BQsXasXlKjVYP6GDCbWUva4rXg/+8tyOCumXzNHJSIiLZ21doMx5gUgBVgF5ABBR31LCJB39D7V7fnFWe1jQrjzwjO46+Vv+e9d42udY1VEpL6O/hBu9uzZu6rXq/SxBvPXZzC+T1KN297IWMglCWPwNb7NHJWIiLRU5ti/6suBjcaYSE+5425jTIgxJgjYa60tcSZKOZkbJ/dgf24J73+71+lQRKQN8JpErbq046jbfo7IzCthf85hBiXH1Lj9zYyvuCxhbDNHJSLSOnh+x3d1NgpHXGKMWWiMuRNYCHQHnvZsuwe4G7gduMOh+OQU+Pv5MGfGUO546Vu2ZxY6HY6ItHJeU/roLaUdX27IYEyvBPx8T8xhNx3ew8GKfEZH93EgMhGRls9T2rHL2Sian7X2LeCt41Zf6dm2Hljf7EFJg4zqEc99U/tyySML+OL+KcSEBTodkoi0Ul5zR81bzF+fwYQ6yh4vTRiLj9FpExERaauum5jGuQM7cPVjiyivdDkdjoi0Uso4jmKt5csNGTVOdG2t1STXIiIiAsCDlw8kOjSAW57/Bmut0+GISCukRO0oG/fnE+TvQ0pC+Anb1hft4rCrlBGRvRyITERE2ipvGcMtx/LxMTw3cyRb0vP503uqXBWR03f8OG6vGaPmDerq9vhmZlXZo9rxiohIc/KWMdxyopBAP9647SwmPPAZXePDuHxkstMhiUgLdvw4bt1RO8qX69OZ0FtljyIiInJqEqKCeeuOs7j31VUs2ZzldDgi0oooUfMoq3Dx9ZZsxp6RcMK27wq347JuhkR0dyAyERER8WZndIziuZkjueaJxWzLKHA6HBFpJZSoeXyz7SA92kfW2Gb3jYyFXJaoskcRERGp2cS+Sfzmh/245JEF5BSWOR2OiLQCStQ8vlifzvhauz0u4PKEcc0flIiIiLQYPxnfjSn92/PbN1Y7HYqItAJK1Dy+XF9zW/5vC7YQ4ONP//AUB6ISERGRluTeqX35cOU+9h487HQoItLCKVEDcgrL2JpewLBucSdsU9mjiIiaftljAAAgAElEQVQ4Se35W5aYsEB+PC6VOXO/dzoUEWlhjm/Pr0QN+GpjJiN7xBPg53vMerd182bmQi5PULdHERFxRnV7fk/bZmkBfn5OT976ejeZeSVOhyIiLYja89dg/vr0Gsse5x78hnDfEPqEa14UEREROTXxkcFcPrIrj328yelQRKQF85pEzanSDmst89dnMOG4ia4/ObiCa9c/wpO9bmnWeEREWrPjyzpEWqtfnNeLl7/arg6QItJgXpOoOVXasT2zkAqXmx7tI46s+2/mYn68/s+8O3AW42L6N2s8IiKt2fFlHSKtVcfYUC4c0omnP9/sdCgi0kJ5TaLmlLmr9zOpb9KRZiGvpc/nxo2P8/GghxgZ1dvh6ERERKSluuOCM3hm3lYKSiqcDkVEWqA2nahZa3lp4XauHlPVev/5fR9z15ZnmTf4YQZFpDkcnYiIiLRkqQnhTOqbyLPztjgdioi0QG06UVu+7SAut2Vk93Y8tvu/PLDjVRYM+Yuah4iIiNdQe/6W7ZcX9uapzzZTXFbpdCgi4uWOH8ft51Qg3uBfC7bz47NSeXjn6zy//1O+GvoIXYITnA5LRETkiOox3NIy9eoYxfBucby4YBs3nd3T6XBExIupPb9HQUkFH6zcS3G3DbyUPk9JmoiIiDSJuy7qw9/mbqSswuV0KCLSgrTZRO3tZbvpM9DNnANv8tHAB2kfFOt0SCIiItIKDUyOoXenKF5dvNPpUESkBWmzidoLizewttsHPNHrFlJCkk6+g4iIiEgD/fLC3jz64QYqXW6nQxGRFqJNJmprdx9ibafPuCBxMJclnuV0OCIiItLKjewRT8fYUN5attvpUESkhWiTzUTu/uZNghMK+VvPm5wORURERNqIuy7qzV0vr2RUj3iKSisoKKmg0POoXvYxhmsndCM4oE3+iSYiR2lzvwVW5m7n86C5fNr7jwT7BjodjoiISJ2q2/OPGzeuuiOYtFDjeyeSmhjO2Q9+TniwP+HB/kR4voYH+xMe5Mf2zELeWraL124dS/uYEKdDFpFm1KTt+Y0xdwJZQKS19omj1l8J3AZEANOttd825nFPVbGrlKkrH6Bf5ngmde7lRAgiIiL1ovb8rYcxhjdvr3vIhbWWv3zwPeNnf8qrt45hSGpcM0UnIk5rsvb8xpjRQKy19mUg2hgz3LPeAMXW2uHAX4DZjXXM+vrFpr/jPhjNb/pc7FQIIiIiIrUyxnDXRb155JqhXPLXhbyxVJ0iRdqqxryjdh6w0bP8vef5cmutBd7zrF8BnFnTztWlHUCTlHe8nv4ln2evxvfrc7ngR50a9bVFRKRuCxYsqC7pgKPKOkSkZhcM7khyfBhXzFnIhr35/O7Sfvj6tMkecCJtVmMmanFArme5FEis4XsmAX+taeemKu2w1rI4bz0/3/QUPzw0g+hhiQT6+zb6cUREGtvBgwe5+eabeeONN5wO5bQd/QHc7NmzdzkajEgL0btTFF/OOpvpjy/m8ke/4oWbRhER7O90WCLSTBozUcsGqke9hgM5R280xnQDdltrv2/EY9ao0u1icd563slazH8zlxDqG8Rfu8/kgT8W8P7dqU19eBGRY9x6663ExsayceNGsrKymDhxIl9++SXz5s2rc7+4uDhee+21ZopSmooxJhx4ARgMfGKtvem47Y8BlwHfWWvPcSBE8WJx4UG8d/d47np5JRNmf8orPx9Dj/YRVI0sEZHWrDETtbnAucCbwBnAp8aYSGttvjEmAehvrf2PMSYMsNbaw414bEpd5XxxaDXvZC3m/axldAmO5+L4UXw2+GF6hXVm7up9dI77nl4doxrzsCIiJ3XjjTfSq1cvXnzxRTZt2sSvf/1rfvjDH57Svr6+qgBoBUYAMwALrDbGDLXWrgAwxnQAVltrb3UwPvFyAX6+/O0nw3h23hamPPg5bmtJTQiveiQe+zUmTB2tRVqLRkvUrLVLjDHjjTHXAnmex9PGmFuAT4FKY8x9gAGGNNZxqz2x9z0+yF7GxfGjuD9lGl2CE47Z/q8F2/nxWbqbJiLNr1evE7vM9urVi88//5w5c+YQGhrKueeey5o1axg0aBBffvklzz77LK+//jpff/019913HxdddBF33nknzz//PFdccQU33HDDkddavXo1L774IrGxsfTt25eLL76Yd999l6KiIl5//XWeeuopwsPDee2110hPTycwMJCLL76YK6+8knXr1vHKK68wb948fve73zF16lSmTZvGxo0bGTt2LBkZGezevZu77rqLlJQUnn76aQICAnj//ff5xz/+wTnnnMMNN9zAjTfeyB133MHVV1/N4MGDm/P0ej1r7efVy8aY9UDGUZsnAL81xvwImGGtPXj8/k09hltajusndef6Sd3JKSxje2Zh1SOjkE/XHGD7p1XPh6bG8s+bRxMdGuB0uCJyimobx92o7fmttQ8et+pKz9cBjXmcmtzZ5RJ+2fXSGrel5xazdHMWz984sqnDEJEWIPyaxi8nLHzpqnrvM2HCBO68807WrFmD2+3moYceYtq0abz55pukp6czYsQI5s2bR8eOHQkNDeX8889n4MCB3HbbbcckahkZGUybNg23280zzzzD2LFjWbhwIY8++ijx8fEUFxfzxBNPcMcddxAdHc0///lP+vTpQ2xsLACjR49m3rx5JCcnExERwbXXXktUVBSPPfYYt9xyC08++SRLlixh06ZNREVFccUVV1BZWUlkZCR/+MMfmDt3LgBdunRRklYHTwnkHmvt3up11tqXjTGvUDWFzV+Ba47fT+355Xix4YHEhgcyrNuxrfsrXW5+/e/VTHzgM968fSzdEiMcilBE6qO2cdytZsLrumq1X1q4nanDOhMWpAG4ItKwpKop+Pr6EhMTgzEGX19fBg0axEsvvURgYCAulws/P79jvjcqKoq8vDzKy8uPeZ2RI0fy7LPP0rlzZ1wuF9u2bTvyO3HKlCkArFu3jpCQEAIDA5k5c2adMVUn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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "with plt.style.context(['science', 'no-latex']):\n",
    "    fig, axes = plt.subplots(1, 2, figsize=(15, 5))\n",
    "    axes[0].plot(his.history['acc'], label='Train accuracy')\n",
    "    axes[0].plot(his.history['val_acc'], label='Val accuracy')\n",
    "    axes[0].legend()\n",
    "    axes[0].set_title('Accuracy')\n",
    "    axes[0].set_xlabel('Epochs')\n",
    "    axes[0].set_ylabel('Accuracy')\n",
    "\n",
    "\n",
    "    axes[1].plot(his.history['loss'], label='Training loss')\n",
    "    axes[1].plot(his.history['val_loss'], label='Validation loss')\n",
    "    axes[1].legend()\n",
    "    axes[1].set_title('Loss')\n",
    "    axes[1].set_xlabel('Epochs')\n",
    "    axes[1].set_ylabel('Loss')\n",
    "    \n",
    "    plt.autoscale(tight=True)\n",
    "    plt.show()    "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
